Skip to content

feat: signature confirmation steps#6983

Merged
vitormattos merged 27 commits intomainfrom
feat/signature-confirmation-steps
Mar 1, 2026
Merged

feat: signature confirmation steps#6983
vitormattos merged 27 commits intomainfrom
feat/signature-confirmation-steps

Conversation

@vitormattos
Copy link
Copy Markdown
Member

@vitormattos vitormattos commented Feb 20, 2026

Screencast_20260227_180532.webm

@vitormattos vitormattos added this to the Next Major (34) milestone Feb 20, 2026
@vitormattos vitormattos self-assigned this Feb 20, 2026
@github-project-automation github-project-automation Bot moved this to 0. Needs triage in Roadmap Feb 20, 2026
@vitormattos
Copy link
Copy Markdown
Member Author

close #6962

@vitormattos
Copy link
Copy Markdown
Member Author

/backport to stable33

@vitormattos vitormattos marked this pull request as draft February 20, 2026 22:01
@vitormattos vitormattos force-pushed the feat/signature-confirmation-steps branch from b256f10 to 7b3077d Compare February 26, 2026 02:38
- Add identityVerified state to control Step 3 visibility
- Update dialogTitle computed property for Step 3 title
- Update progressText to show 'Step 3 of 3 - Signature confirmation'
- Modify sendCode() to set identityVerified = true
- Add signDocument() method to trigger signature
- Add requestNewCode() to reset identityVerified state
- Add CSS styling for verification success message block

Signed-off-by: Vitor Mattos <[email protected]>
- Add identityVerified state to control Step 3 visibility
- Update dialogTitle computed property for Step 3 title
- Update progressText to show 'Step 3 of 3 - Signature confirmation'
- Modify sendToken() to set identityVerified = true
- Add signDocument() method to trigger signature
- Add requestNewToken() to reset identityVerified state
- Add CSS styling for verification success message block
- Match ModalEmailManager implementation for consistency

Signed-off-by: Vitor Mattos <[email protected]>
- Create new test file for ModalEmailManager component
- Update progress text assertions from 'Step 1 of 2' to 'Step 1 of 3'
- Update progress text assertions from 'Step 2 of 2' to 'Step 2 of 3'
- Add test: updates to step 3 when identityVerified is true
- Add test: shows verification success message on step 3
- Add test: shows correct button label on step 3
- Add test: sendCode sets identityVerified to true
- Add test: requestNewCode resets identityVerified to false

Signed-off-by: Vitor Mattos <[email protected]>
- Create new test file for ModalTokenManager component
- Update progress text assertions from 'Step 1 of 2' to 'Step 1 of 3'
- Update progress text assertions from 'Step 2 of 2' to 'Step 2 of 3'
- Add test: updates to step 3 when identityVerified is true
- Add test: shows verification success message on step 3
- Add test: shows correct button label on step 3
- Add test: sendToken sets identityVerified to true
- Add test: requestNewToken resets identityVerified to false
- Mirror ModalEmailManager test structure for consistency

Signed-off-by: Vitor Mattos <[email protected]>
- Create new test file for SignFinalModals component
- Fix import statement to use ES6 import instead of require
- Import useSignMethodsStore for component testing
- Add test structure for signature confirmation modals

Signed-off-by: Vitor Mattos <[email protected]>
- Add missing capability structure for sign-elements in test environment
- Set can-create-signature to true to allow dynamic signature tests
- Ensures needCreateSignature computed property returns correct value

Signed-off-by: Vitor Mattos <[email protected]>
- Update getCapabilities mock to return proper capability structure
- Include libresign.config.sign-elements.can-create-signature = true
- Fixes test failure: 'updates elements when signature is created dynamically'
- Ensures all 1648 tests pass without failures

Signed-off-by: Vitor Mattos <[email protected]>
@vitormattos vitormattos force-pushed the feat/signature-confirmation-steps branch from 7b3077d to 8b13fc6 Compare February 27, 2026 20:57
On step 3, signDocument() was self-closing the modal immediately after
emitting 'change', causing a jarring UX: the modal disappeared while the
signing API call was still in-flight, leaving a spinner on a disappeared
dialog.

- Remove self-close from signDocument(); parent (Sign.vue) already calls
  actionHandler.closeModal() on both sync and async signing paths, so the
  modal closes at the right time after the request completes.
- Set loading=true in signDocument() so the dialog stays disabled and
  shows a spinner while the API call runs.
- Add watcher on signStore.errors to reset loading=false when the signing
  request fails, allowing the user to retry without being stuck.
- Async signing path is unaffected: Sign.vue closes the modal before
  transitioning to the progress screen.

Tests added to cover:
- signDocument emits change with token and does not emit close
- signStore.errors watcher resets loading on failure (both modes)

Signed-off-by: Vitor Mattos <[email protected]>
[skip ci]

Signed-off-by: Vitor Mattos <[email protected]>
@vitormattos vitormattos marked this pull request as ready for review March 1, 2026 17:47
@vitormattos vitormattos merged commit c77c4d0 into main Mar 1, 2026
5 checks passed
@vitormattos vitormattos deleted the feat/signature-confirmation-steps branch March 1, 2026 17:47
@github-project-automation github-project-automation Bot moved this from 0. Needs triage to 4. to release in Roadmap Mar 1, 2026
@vitormattos
Copy link
Copy Markdown
Member Author

/backport to stable32

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

1 participant